package ie.dkit.semanticPhotoWeb.client.dtos;

import java.io.Serializable;

/**
 * @author Sebastian Ruehl
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
 * Place, Suite 330, Boston, MA 02111-1307 USA
 */

public class PersonDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6516886925503260199L;

	public int personID;

	public String rdfFile;

	/*
	 * The username should act in the system as identifier
	 */
	public String username;

	public String name;

	public String email;

	public String homepage;

	public String nick;

	public String photo;

	public InterestDTO[] interests;;

	public PersonDTO[] knows;

	/**
	 * Creates a Person
	 * 
	 */
	public PersonDTO() {
		super();
	}

	/**
	 * Used on the client side
	 * 
	 * @param username
	 * @param name
	 * @param email
	 * @param homepage
	 * @param nick
	 * @param photo
	 */
	public PersonDTO(String username, String name, String email,
			String homepage, String nick, String photo) {
		this(-1, null, username, name, email, homepage, nick, photo, null, null);
	}

	/**
	 * Used on the server side
	 * 
	 * @param id
	 * @param rdfFile
	 * @param username
	 * @param name
	 * @param email
	 * @param homepage
	 * @param nick
	 * @param photo
	 * @param interests
	 * @param knows
	 */
	public PersonDTO(int id, String rdfFile, String username, String name,
			String email, String homepage, String nick, String photo,
			InterestDTO[] interests, PersonDTO[] knows) {
		this.personID = id;
		this.rdfFile = rdfFile;
		this.username = username;
		this.name = name;
		this.email = email;
		this.homepage = homepage;
		this.nick = nick;
		this.photo = photo;
		this.interests = interests;
		this.knows = knows;
	}
}
